home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.dom;
-
- import com.extensibility.util.Debug;
- import com.extensibility.util.StringUtilities;
- import com.extensibility.xml.SXE;
- import com.extensibility.xml.Schema;
- import com.extensibility.xml.SchemaIntf;
- import com.extensibility.xml.SchemaSpace;
- import com.extensibility.xml.SchemaUtilities;
- import com.extensibility.xml.URI;
- import com.extensibility.xml.URIResolver;
- import com.extensibility.xml.XMLTypeRef;
- import java.io.EOFException;
- import java.io.IOException;
- import java.io.StringWriter;
- import java.io.Writer;
- import org.w3c.dom.Attr;
- import org.w3c.dom.CDATASection;
- import org.w3c.dom.Comment;
- import org.w3c.dom.Document;
- import org.w3c.dom.DocumentType;
- import org.w3c.dom.Element;
- import org.w3c.dom.EntityReference;
- import org.w3c.dom.NamedNodeMap;
- import org.w3c.dom.Node;
- import org.w3c.dom.NodeList;
- import org.w3c.dom.ProcessingInstruction;
- import org.w3c.dom.Text;
-
- public class DOMUtilities {
- public static final Object[] getSchemaInfo(Document var0, URI var1) throws IOException {
- Object var2 = null;
- String var4 = null;
- if (var0 == null) {
- return null;
- } else {
- URI var3 = getDTD(var0, var1);
- if (var3 != null) {
- var4 = SchemaIntf.DTD_FLAVOR_NAME;
- }
-
- if (var3 == null) {
- var3 = getSOX(var0, var1);
- if (var3 != null) {
- var4 = SchemaIntf.SOX2_FLAVOR_NAME;
- }
- }
-
- if (var3 == null) {
- var3 = getXDR(var0, var1);
- if (var3 != null) {
- var4 = SchemaIntf.XDR_FLAVOR_NAME;
- }
- }
-
- if (var3 == null) {
- String var5 = getNodeNamespace(var0.getDocumentElement(), (Node)null, (String)null);
- if (var5 != null) {
- var3 = new URI(var1, var5);
- var4 = SchemaUtilities.getFlavorPeek(var3);
- }
- }
-
- return new Object[]{var3, var4};
- }
- }
-
- public static URI getSchemaURI(Document var0, URI var1) throws IOException {
- Object[] var2 = getSchemaInfo(var0, var1);
- return var2 == null ? null : (URI)var2[0];
- }
-
- public static String getSchemaFlavor(Document var0, URI var1) throws IOException {
- Object[] var2 = getSchemaInfo(var0, var1);
- return var2 == null ? null : (String)var2[1];
- }
-
- public static final SchemaIntf getSchema(Document var0, URI var1) throws Exception {
- Object[] var2 = getSchemaInfo(var0, var1);
- if (var2 == null) {
- return null;
- } else {
- URI var3 = (URI)var2[0];
- String var4 = (String)var2[1];
- if (var3 != null && SchemaUtilities.isValidFlavor(var4)) {
- Schema var5 = new Schema(var3, var4);
- if (var5.getFlavor() != null && SchemaUtilities.isValidFlavor(var5.getFlavor().getFlavorName())) {
- var5.parse(var3, 0, (Object)null);
- return var5;
- } else {
- return null;
- }
- } else {
- return null;
- }
- }
- }
-
- public static final URI getDTD(Document var0, URI var1) {
- return SchemaUtilities.getExternalDTD(var1);
- }
-
- public static final URI getSOX(Document var0, URI var1) {
- String var2 = null;
- NodeList var3 = var0.getChildNodes();
-
- for(int var4 = 0; var4 < var3.getLength(); ++var4) {
- Node var5 = var3.item(var4);
- if (var5.getNodeType() == 7) {
- ProcessingInstruction var6 = (ProcessingInstruction)var5;
- if (var6.getTarget() == "soxtype") {
- var2 = var6.getData();
- }
- }
- }
-
- if (var2 == null) {
- return null;
- } else {
- int var7 = var2.indexOf(36);
- if (var7 >= 0) {
- var2 = var2.substring(0, var7);
- }
-
- return new URI(var1, var2);
- }
- }
-
- public static final URI getXDR(Document var0, URI var1) {
- String var2 = getDefaultNamespace(var0);
- if (var2 != null && var2.indexOf("x-schema:") == 0) {
- var2 = var2.substring((new String("x-schema:")).length());
- return new URI(var1, var2);
- } else {
- return null;
- }
- }
-
- public static final URI getXSD(Document var0, URI var1) {
- String var2 = getDefaultNamespace(var0);
- return var2 == null ? null : new URI(var1, var2);
- }
-
- public static String getDefaultNamespace(Document var0) {
- Element var1 = var0.getDocumentElement();
- NamedNodeMap var2 = var1.getAttributes();
- if (var2 == null) {
- return null;
- } else {
- Node var3 = var2.getNamedItem("xmlns");
- return var3 == null ? null : var3.getNodeValue();
- }
- }
-
- public static String getFirstNamespace(Document var0) {
- Element var1 = var0.getDocumentElement();
- NamedNodeMap var2 = var1.getAttributes();
- if (var2 == null) {
- return null;
- } else {
- for(int var3 = 0; var3 < var2.getLength(); ++var3) {
- Node var4 = var2.item(var3);
- String var5 = var4.getNodeName();
- if (!var5.equals("xmlns") && var5.startsWith("xmlns:")) {
- return var4.getNodeValue();
- }
- }
-
- return null;
- }
- }
-
- public static boolean isLongerThan(Node var0, int var1) {
- return true;
- }
-
- public static String getAsString(Node var0) {
- return getAsString(var0, false);
- }
-
- public static String getAsString(Node var0, boolean var1) {
- StringWriter var2 = new StringWriter();
-
- try {
- writeNode(var2, var0, var1);
- } catch (IOException var5) {
- String var4 = ((Throwable)var5).getMessage();
- return var4;
- }
-
- return var2.toString();
- }
-
- public static String getAsString(Node var0, boolean var1, int var2) {
- FiniteWriter var3 = new FiniteWriter(new StringWriter(), var2);
-
- try {
- writeNode(var3, var0, var1);
- } catch (EOFException var6) {
- } catch (IOException var7) {
- String var5 = ((Throwable)var7).getMessage();
- return var5;
- }
-
- return var3.toString();
- }
-
- public static void removeChildrenOfType(Node var0, int var1) {
- NodeList var2 = var0.getChildNodes();
-
- for(int var3 = var2.getLength() - 1; var3 >= 0; --var3) {
- if (var2.item(var3).getNodeType() == var1) {
- var0.removeChild(var2.item(var3));
- }
- }
-
- }
-
- public static void setText(Node var0, String var1) {
- if (var0.getNodeType() == 1) {
- removeChildrenOfType(var0, 3);
- Text var2 = var0.getOwnerDocument().createTextNode(var1);
- var0.insertBefore(var2, (Node)null);
- } else {
- var0.setNodeValue(var1);
- }
-
- }
-
- public static String getText(Node var0) {
- if (var0.getNodeType() == 1) {
- StringWriter var1 = new StringWriter();
-
- try {
- NodeList var2 = var0.getChildNodes();
-
- for(int var5 = 0; var5 < var2.getLength(); ++var5) {
- writeNode(var1, var2.item(var5), false);
- }
- } catch (IOException var4) {
- String var3 = ((Throwable)var4).getMessage();
- return var3;
- }
-
- return var1.toString();
- } else {
- return var0.getNodeValue();
- }
- }
-
- public static String getTextValue(Node var0, SchemaIntf var1) {
- StringWriter var2 = new StringWriter();
-
- try {
- if (var0.getNodeType() == 1) {
- NodeList var3 = var0.getChildNodes();
-
- for(int var6 = 0; var6 < var3.getLength(); ++var6) {
- writeNodeTextValue(var2, var3.item(var6), var1);
- }
- } else {
- writeNodeTextValue(var2, var0, var1);
- }
- } catch (IOException var5) {
- String var4 = ((Throwable)var5).getMessage();
- return var4;
- }
-
- return var2.toString();
- }
-
- public static boolean setSchema(Document var0, SchemaIntf var1) {
- if (var1 == null) {
- return false;
- } else {
- boolean var2 = false;
- URI var3 = var1.getURI();
- if (var1.getFlavorName() != SchemaIntf.DTD_FLAVOR_NAME) {
- if (var1.getFlavorName() != SchemaIntf.XDR_FLAVOR_NAME && var1.getFlavorName() != SchemaIntf.BIZ_FLAVOR_NAME && var1.getFlavorName() != SchemaIntf.OSC_FLAVOR_NAME) {
- if (SchemaUtilities.flavorConvertsTo(var1.getFlavorName()) == "xsd") {
- Element var6 = var0.getDocumentElement();
- Attr var10 = (Attr)var6.getAttributes().getNamedItem("xmlns");
- if (var10 == null) {
- var6.setAttribute("xmlns", var3.getFullName());
- var2 = true;
- } else {
- var2 = var10.getNodeValue() == null || !var10.getNodeValue().equals(var3.getFullName());
- var10.setNodeValue(var3.getFullName());
- }
- } else if (var1.getFlavorName() == SchemaIntf.SOX2_FLAVOR_NAME) {
- ProcessingInstruction var7 = getSoxPI(var0);
- if (var7 == null) {
- var7 = var0.createProcessingInstruction("soxtype", var3.getFullName());
- var0.insertBefore(var7, var0.getFirstChild());
- var2 = true;
- }
- }
- } else {
- Element var4 = var0.getDocumentElement();
- Attr var5 = (Attr)var4.getAttributes().getNamedItem("xmlns");
- if (var5 == null) {
- var5 = var0.createAttribute("xmlns");
- var4.setAttributeNode(var5);
- }
-
- var2 = var5.getNodeValue() == null || !var5.getNodeValue().equals(String.valueOf("x-schema:").concat(String.valueOf(var3.getFullName())));
- var5.setNodeValue(String.valueOf("x-schema:").concat(String.valueOf(var3.getFullName())));
- }
- }
-
- if (var1.getFlavorName() != SchemaIntf.SOX2_FLAVOR_NAME) {
- ProcessingInstruction var9 = getSoxPI(var0);
- if (var9 != null) {
- var9.getParentNode().removeChild(var9);
- var2 = true;
- }
- }
-
- if (var1.getFlavorName() != SchemaIntf.DTD_FLAVOR_NAME) {
- }
-
- if (var1.getFlavorName() != "xsd") {
- }
-
- return var2;
- }
- }
-
- public static void writeDocument(Writer var0, Document var1, SchemaIntf var2, String var3, String var4, String var5) throws IOException {
- Object var6 = null;
- if (var2 != null) {
- setSchema(var1, var2);
- }
-
- writeDocument(var0, var1, var3, var4, var5);
- }
-
- static ProcessingInstruction getSoxPI(Document var0) {
- NodeList var1 = var0.getChildNodes();
-
- for(int var2 = 0; var2 < var1.getLength(); ++var2) {
- Node var3 = var1.item(var2);
- if (var3.getNodeType() == 7) {
- ProcessingInstruction var4 = (ProcessingInstruction)var3;
- if (var4.getTarget().equals("soxtype")) {
- return var4;
- }
- }
- }
-
- return null;
- }
-
- public static void writeDocument(Writer var0, Document var1, String var2, String var3, String var4) throws IOException {
- SXE var5 = new SXE(var0);
- var5.writeHeader("1.0", var2);
- if (var3 != null || var4 != null) {
- var5.writeDocTypeWithInternal(var1.getDocumentElement().getNodeName(), var3, var4);
- }
-
- writeNode(var5, var1, -1);
- var5.flush();
- }
-
- public static void writeNode(Writer var0, Node var1, boolean var2) throws IOException {
- SXE var3 = new SXE(var0);
- if (var2) {
- for(Node var4 = var1.getFirstChild(); var4 != null; var4 = var4.getNextSibling()) {
- writeNode(var3, var4, 0);
- }
- } else {
- writeNode(var3, var1, 0);
- }
-
- var3.flush();
- }
-
- public static void writeNode(SXE var0, Node var1, int var2) throws IOException {
- switch (var1.getNodeType()) {
- case 1:
- var0.writeElem(var1.getNodeName(), -1);
- NamedNodeMap var8 = var1.getAttributes();
-
- for(int var4 = 0; var4 < var8.getLength(); ++var4) {
- Attr var5 = (Attr)var8.item(var4);
- var0.writeAttr(var5.getName(), var5.getValue());
- }
-
- for(Node var10 = var1.getFirstChild(); var10 != null; var10 = var10.getNextSibling()) {
- writeNode(var0, var10, var2 + 1);
- }
-
- var0.flush(var1.getNodeName());
- break;
- case 2:
- case 6:
- case 9:
- default:
- for(Node var9 = var1.getFirstChild(); var9 != null; var9 = var9.getNextSibling()) {
- writeNode(var0, var9, var2 + 1);
- }
- break;
- case 3:
- String var7 = StringUtilities.trimControlChars(var1.getNodeValue());
- if (var7.length() > 0) {
- var0.writeText(var7);
- }
- break;
- case 4:
- var0.writeCDATA(var1.getNodeValue());
- break;
- case 5:
- var0.writeEntityRef(var1.getNodeName());
- break;
- case 7:
- ProcessingInstruction var6 = (ProcessingInstruction)var1;
- var0.writePI(var6.getTarget(), var6.getData());
- break;
- case 8:
- var0.writeComment(var1.getNodeValue(), true);
- break;
- case 10:
- DocumentType var3 = (DocumentType)var1;
- }
-
- }
-
- public static void writeNodeTextValue(Writer var0, Node var1, SchemaIntf var2) throws IOException {
- switch (var1.getNodeType()) {
- case 3:
- case 4:
- String var4 = StringUtilities.trimControlChars(var1.getNodeValue());
- if (var4.length() > 0) {
- var0.write(var4);
- }
- break;
- case 5:
- String var3 = var1.getNodeName();
- var0.write(var3);
- }
-
- }
-
- public static int getNodeIndex(Node var0, Node var1) {
- if (var1.getNodeType() == 2) {
- NamedNodeMap var2 = var0.getAttributes();
- int var3 = var2.getLength();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- if (var1 == var2.item(var4)) {
- return var4;
- }
- }
- } else {
- int var5 = 0;
-
- for(Node var6 = var0.getFirstChild(); var6 != null; var6 = var6.getNextSibling()) {
- if (var1 == var6) {
- return var5;
- }
-
- ++var5;
- }
- }
-
- Debug.assert(false, "node not found");
- return -1;
- }
-
- public static Node getChild(Node var0, int var1) {
- Node var2;
- for(var2 = var0.getFirstChild(); var1 > 0; --var1) {
- Debug.assert(var2 != null);
- var2 = var2.getNextSibling();
- }
-
- return var2;
- }
-
- public static int getChildCount(Node var0) {
- int var1 = 0;
-
- for(Node var2 = var0.getFirstChild(); var2 != null; var2 = var2.getNextSibling()) {
- ++var1;
- }
-
- return var1;
- }
-
- public static void removeChildren(Node var0) {
- NamedNodeMap var1 = var0.getAttributes();
-
- for(int var2 = 0; var2 < var1.getLength(); ++var2) {
- Node var3 = var1.item(var2);
- if (var0 instanceof Element) {
- ((Element)var0).removeAttributeNode((Attr)var3);
- }
- }
-
- for(Node var4 = var0.getFirstChild(); var4 != null; var4 = var0.getFirstChild()) {
- var0.removeChild(var4);
- }
-
- }
-
- public static void attachChildren(Node var0, Node var1) {
- removeChildren(var1);
- Document var2 = var1.getOwnerDocument();
- NamedNodeMap var3 = var0.getAttributes();
-
- for(int var4 = 0; var4 < var3.getLength(); ++var4) {
- Node var5 = cloneNodeToDoc(var3.item(var4), var2);
- if (var1 instanceof Element) {
- ((Element)var1).setAttributeNode((Attr)var5);
- }
- }
-
- for(Node var6 = var0.getFirstChild(); var6 != null; var6 = var6.getNextSibling()) {
- var1.appendChild(cloneNodeToDoc(var6, var2));
- }
-
- }
-
- public static Node cloneNodeToDoc(Node var0, Document var1) {
- try {
- switch (var0.getNodeType()) {
- case 1:
- Element var10 = var1.createElement(var0.getNodeName());
- NamedNodeMap var11 = var0.getAttributes();
-
- for(int var12 = 0; var12 < var11.getLength(); ++var12) {
- var10.setAttributeNode((Attr)cloneNodeToDoc(var11.item(var12), var1));
- }
-
- for(Node var13 = var0.getFirstChild(); var13 != null; var13 = var13.getNextSibling()) {
- var10.appendChild(cloneNodeToDoc(var13, var1));
- }
-
- return var10;
- case 2:
- Attr var15 = var1.createAttribute(var0.getNodeName());
- var15.setValue(var0.getNodeValue());
- return var15;
- case 3:
- Text var2 = var1.createTextNode(var0.getNodeValue());
- return var2;
- case 4:
- CDATASection var3 = var1.createCDATASection(var0.getNodeValue());
- return var3;
- case 5:
- EntityReference var4 = var1.createEntityReference(var0.getNodeName());
- return var4;
- case 6:
- default:
- Object var8 = null;
- return (Node)var8;
- case 7:
- ProcessingInstruction var14 = (ProcessingInstruction)var0;
- ProcessingInstruction var16 = var1.createProcessingInstruction(var14.getTarget(), var14.getData());
- return var16;
- case 8:
- Comment var5 = var1.createComment(var0.getNodeValue());
- return var5;
- case 9:
- Debug.assert(false, "Can't clone doc node");
- Object var7 = null;
- return (Node)var7;
- case 10:
- Debug.assert(false, "Can't clone doc type node");
- Object var6 = null;
- return (Node)var6;
- }
- } catch (RuntimeException var9) {
- throw var9;
- }
- }
-
- public static boolean isAttrPathToken(String var0) {
- return var0.startsWith("@");
- }
-
- public static boolean isTextPathToken(String var0) {
- return var0.equals("#text");
- }
-
- public static String headTokenOf(String var0) {
- int var1 = var0.indexOf("/");
- return var1 == -1 ? var0 : var0.substring(0, var1);
- }
-
- public static String tailPathOf(String var0) {
- int var1 = var0.indexOf("/");
- return var1 == -1 ? "" : var0.substring(var1 + 1);
- }
-
- public static Node setNodeName(Node var0, Node var1, String var2) {
- Document var3 = var1.getOwnerDocument();
- switch (var1.getNodeType()) {
- case 1:
- Element var10 = var3.createElement(var2);
- NamedNodeMap var11 = var1.getAttributes();
-
- for(int var6 = 0; var6 < var11.getLength(); ++var6) {
- Attr var7 = (Attr)var11.item(var6);
- ((Element)var1).removeAttributeNode(var7);
- var10.setAttribute(var7.getNodeName(), var7.getNodeValue());
- }
-
- Node var8;
- for(Node var12 = var1.getFirstChild(); var12 != null; var12 = var8) {
- var8 = var12.getNextSibling();
- var1.removeChild(var12);
- var10.appendChild(var12);
- }
-
- if (var0 != null) {
- Node var9 = var1.getNextSibling();
- var0.removeChild(var1);
- var0.insertBefore(var10, var9);
- }
-
- return var10;
- case 2:
- Element var4 = (Element)var0;
- if (var4.getAttributeNode(var2) != null) {
- return null;
- }
-
- var4.removeAttributeNode((Attr)var1);
- var4.setAttribute(var2, var1.getNodeValue());
- Attr var5 = var4.getAttributeNode(var2);
- return var5;
- default:
- return null;
- }
- }
-
- public static String getNamespacePrefix(String var0, Node var1) {
- for(; var1 != null; var1 = var1.getParentNode()) {
- NamedNodeMap var2 = var1.getAttributes();
- if (var2 != null) {
- for(int var3 = 0; var3 < var2.getLength(); ++var3) {
- Node var4 = var2.item(var3);
- String var5 = var4.getNodeName();
- if (var5.startsWith("xmlns") && var0.equals(var4.getNodeValue())) {
- if (var5.equals("xmlns")) {
- return "";
- }
-
- if (var5.startsWith("xmlns:")) {
- return var5.substring(6);
- }
- }
- }
- }
- }
-
- return null;
- }
-
- public static String getNamePrefix(String var0) {
- int var1 = var0.indexOf(":");
- return var1 == -1 ? "" : var0.substring(0, var1);
- }
-
- public static String getNamePrefix(Node var0) {
- return getNamePrefix(var0.getNodeName());
- }
-
- public static String getPrefixDeclaredNamespace(Node var0, String var1) {
- for(String var2 = String.valueOf("xmlns").concat(String.valueOf(var1.equals("") ? "" : String.valueOf(":").concat(String.valueOf(var1)))); var0 != null; var0 = var0.getParentNode()) {
- NamedNodeMap var3 = var0.getAttributes();
- if (var3 != null) {
- Node var4 = var3.getNamedItem(var2);
- if (var4 != null) {
- return var4.getNodeValue();
- }
- }
- }
-
- return null;
- }
-
- public static String getNameDeclaredNamespace(Node var0, String var1) {
- String var2 = getNamePrefix(var1);
- return getPrefixDeclaredNamespace(var0, var2);
- }
-
- public static String getNodeDeclaredNamespace(Node var0, Node var1) {
- Node var2 = var1 == null ? var0 : var1;
- return getNameDeclaredNamespace(var0, getName(var2));
- }
-
- public static String getNodeNamespace(Node var0, Node var1, String var2) {
- String var3 = getNodeDeclaredNamespace(var0, var1);
- if (var3 == null) {
- var3 = var2;
- }
-
- return var3;
- }
-
- public static String getNamespace(String var0, Node var1) {
- if (var1 == null) {
- return null;
- } else {
- NamedNodeMap var2 = var1.getAttributes();
-
- for(int var3 = 0; var3 < var2.getLength(); ++var3) {
- Node var4 = var2.item(var3);
- String var5 = var4.getNodeName();
- if (var5.startsWith("xmlns")) {
- if (!var5.startsWith("xmlns:")) {
- if (var0.length() == 0 && var5.length() == 5) {
- return var4.getNodeValue();
- }
- } else if (var5.substring(6).equals(var0)) {
- return var4.getNodeValue();
- }
- }
- }
-
- return getNamespace(var0, var1.getParentNode());
- }
- }
-
- public static String getNameNamespace(Node var0, String var1, String var2) {
- String var3 = getNameDeclaredNamespace(var0, var1);
- if (var3 == null) {
- var3 = var2;
- }
-
- return var3;
- }
-
- public static String getNameFullName(Node var0, String var1, String var2) {
- if (var0 != null && var1 != null) {
- String var3 = var1;
- String var4 = getNameNamespace(var0, var1, var2);
- if (var4 != null && !var4.equals("")) {
- var3 = String.valueOf(String.valueOf(var4).concat(String.valueOf(":"))).concat(String.valueOf(getUnqualifiedName(var1)));
- }
-
- return var3;
- } else {
- return null;
- }
- }
-
- public static String getNodeFullName(Node var0, Node var1, String var2) {
- Node var3 = var1 == null ? var0 : var1;
- return getNameFullName(var0, getName(var3), var2);
- }
-
- public static String getName(Node var0) {
- if (var0 == null) {
- return null;
- } else {
- String var1 = var0.getNodeName();
- return var1;
- }
- }
-
- public static boolean hasNonWhitespaceChildren(Node var0) {
- NodeList var1 = var0.getChildNodes();
-
- for(int var2 = 0; var2 < var1.getLength(); ++var2) {
- Node var3 = var1.item(var2);
- if (var3.getNodeType() != 3 || !StringUtilities.isWhitespace(var3.getNodeValue())) {
- return true;
- }
- }
-
- return false;
- }
-
- public static String getUnqualifiedName(String var0) {
- if (var0 == null) {
- return null;
- } else {
- var0 = var0.substring(var0.indexOf(":") + 1);
- return var0;
- }
- }
-
- public static String getUnqualifiedName(Node var0) {
- return var0 == null ? null : getUnqualifiedName(var0.getNodeName());
- }
-
- public static XMLTypeRef getXMLTypeRef(Node var0, Node var1, String var2) {
- String var3 = null;
- if (var1 != null && var1.getNodeName().indexOf(":") != -1) {
- var3 = getNodeDeclaredNamespace(var0, var1);
- }
-
- if (var3 == null) {
- var3 = getNodeNamespace(var0, (Node)null, var2);
- return new XMLTypeRef(var3, getUnqualifiedName(var0), var1 == null ? null : var1.getNodeName());
- } else {
- return new XMLTypeRef(var3, (String)null, getUnqualifiedName(var1));
- }
- }
-
- public static SchemaIntf getGoverningSchema(Node var0, Node var1, SchemaSpace var2, URIResolver var3) {
- String var4 = var2.getDefaultNS();
- XMLTypeRef var5 = getXMLTypeRef(var0, var1, var4);
- return var5.getSchema(var2, var3);
- }
-
- public static String getXPath(Node var0) {
- StringBuffer var1 = new StringBuffer();
- buildXPath(var1, var0);
- return var1.toString();
- }
-
- private static void buildXPath(StringBuffer var0, Node var1) {
- Node var2 = var1.getParentNode();
- if (var2 != null) {
- buildXPath(var0, var2);
- var0.append("/");
- var0.append(var1.getNodeName());
- }
- }
- }
-